#include "gtest/gtest.h"

#include "DataStructure/Input/Coordinate/CORD1RData.h"
#include "DataStructure/Input/Coordinate/CORD2RData.h"
using namespace SG::DataStructure::FEM;

TEST (CoordinateTest, CartesianCoordConstructorTest)
{
    SG::DataStructure::Common::Id GA{ 2 };
    SG::DataStructure::Common::Id GB{ 3 };
    SG::DataStructure::Common::Id GC{ 4 };
    auto                          coord = CartesianCoord (5, GA, GB, GC);

    // Check
    ASSERT_EQ (5, coord.m_id);
    ASSERT_TRUE (CoordTypes::COORDTYPE_Cartesian == coord.m_type);
}

TEST (CoordinateTest, multiCoordStoreTest)
{
    std::vector<ICoordinateP> coordSet;
    coordSet.push_back (std::make_shared<CartesianCoord> ());

    coordSet.push_back (std::make_shared<Cartesian2Coord> ());

    // Check
    ASSERT_TRUE (COORDTYPE_Cartesian == coordSet[0]->m_type);
    ASSERT_TRUE (COORDTYPE_Cartesian2 == coordSet[1]->m_type);
}